package com.xiaoma.thread.wait.producer;

import java.util.LinkedList;
import java.util.Queue;

/**
 * @author xiaomacdut
 * @date 2020年2月22日 上午10:01:39
 */
public class TaskQueue{
    
    Queue<String> queue = new LinkedList<>();
    
    public synchronized void addTask(String s){
        this.queue.add(s);
        this.notifyAll();
    }
    
    public synchronized String getTask() throws InterruptedException{
        while(queue.isEmpty()){
            this.wait();
        }
        // 如果被唤醒，则删除队列中取走了的task
        return queue.remove();
    }
}
